package coint.btc.dao.auth;
/**
 * 

* @Description:  权限表自定义Jpa

* @author lt  

* @date 2018年7月13日
 */

import java.util.List;
import java.util.Set;

import coint.btc.dto.PermissionDTO;
import coint.btc.pojo.Permission;
import coint.btc.vo.Page;
import coint.btc.vo.PermissionVo;

/**
 * 

* @Description:  权限表自定义jpa

* @author lt  

* @date 2018年7月13日
 */
public interface PermissionCustom {
	/**
	 * 
	 * @Description:  根据用户id查询权限信息
	 * @date:2018年7月13日   
	 * @author: lt
	 * @param id  用户id
	 * @return
	 */
     public  Set<String> findAuthByUserId(Integer id);
     
 
     
     
     
     /**
      * 
      * @Description:  根据用户id查询权限列表
      * @date:2018年7月18日   
      * @author: lt
      * @param userId
      * @return
      */
     public List<Permission> findAuthMenuByUserId(Integer userId,Integer typeId);
     /***
      * 
     
      * @Title: addQuanXian 
     
      * @Description:添加页面权限
      
      * @author wyx  
     
      * @date 2018年7月18日  
     
      * @param quanxian
      * @return
      */
     public int  addQuanXian(Permission quanxian);
     
     
     /***
      * 检测菜单是否有重复
     
      * @Title: CheckDouble 
     
      * @Description:
      
      * @author wyx  
     
      * @date 2018年7月18日  
     
      * @return
      */
     public  boolean CheckDouble(String name);
     
     
     /***
      * 修改权限菜单信息
     
      * @Title: updateDaozhaQuanxian 
     
      * @Description:
      
      * @author wyx  
     
      * @date 2018年7月19日  
     
      * @param quanxian
      * @return
      */
     public int updateDaozhaQuanxian(Permission quanxian);
     
     /***
      * 加载权限菜单按钮树
     
      * @Title: loadQuanXianTree 
     
      * @Description:
      
      * @author wyx  
     
      * @date 2018年7月19日  
     
      * @return
      */
     public List<Permission>  loadQuanXianTree();
     
     
     /***
      * 删除权限
      * @param id
      * @return
      */
     public int deletePermission(Integer id);
     
     
     public Page<PermissionVo>  Page(PermissionDTO p ,Page<PermissionVo> parms);
     
}
